package dao.StoreDao;

import common.model.Entity.StoreEntity.Product;
import dao.BaseDao;

import java.util.List;
import java.util.Optional;

/**
 * 商品数据访问接口，提供商品相关的数据库操作
 */
public interface ProductDao extends BaseDao<Product, Long> {
    /**
     * 根据商品名称查询商品
     *
     * @param name 商品名称
     * @return 包含商品的Optional对象，如果存在则返回商品，否则返回空Optional
     */
    Optional<Product> findByProductName(String name);

    /**
     * 根据分类ID查询商品列表
     *
     * @param CategoryId 分类ID
     * @return 商品列表
     */
    List<Product> findByCategoryId(long CategoryId);

    /**
     * 根据分类名称查询商品列表
     *
     * @param categoryName 分类名称
     * @return 商品列表
     */
    List<Product> findByCategoryName(String categoryName);
}